/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *Repository提供数据库操作，如果要增加数据库操作请在当前目录下Partial文件夹IwarehousemodelRepository编写接口
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VOL.Core.BaseProvider;
using VOL.Entity.DomainModels;
using VOL.Core.Extensions.AutofacManager;
namespace VOL.demo.IRepositories
{
    public partial interface IwarehousemodelRepository : IDependency,IRepository<warehousemodel>
    {
        /// <summary>
        /// 根据仓库ID获取仓库信息
        /// </summary>
        /// <param name="warehouseId">仓库ID</param>
        /// <returns>仓库信息</returns>
        Task<warehousemodel> GetWarehouseByIdAsync(long warehouseId);

        /// <summary>
        /// 获取所有启用状态的仓库列表
        /// </summary>
        /// <returns>仓库列表</returns>
        Task<List<warehousemodel>> GetActiveWarehousesAsync();

        /// <summary>
        /// 根据仓库编号获取仓库信息
        /// </summary>
        /// <param name="warehouseCode">仓库编号</param>
        /// <returns>仓库信息</returns>
        Task<warehousemodel> GetWarehouseByCodeAsync(string warehouseCode);
    }
}
